package cn.itcast.nems.enrol.enumeration;

import cn.itcast.ic.common.exception.v2.bean.BizErrorBody;
import cn.itcast.ic.common.exception.v2.bean.BizStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;


/**
 * <p>
 * 报名相关异常提示模版
 * </p>
 *
 * @author zhouwei
 * @since 2023/10/10 3:05 PM
 **/
@Getter
@AllArgsConstructor
public enum EnrolErrorBodyEnum implements BizErrorBody{
    EMS_RESPONSE_ORDER_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "EMS返回结果缺少订单头信息！"),
    EMS_RESPONSE_CUSTOMER_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "EMS返回结果缺少客户信息！"),
    ENROL_DETAIL_LINK_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "缺少支付链接订单！"),
    ENROL_DETAIL_ORDER_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "订单行不存在！"),
    PRODUCT_NOT_FUND(BizStatusEnum.BAD_REQUEST, "产品不存在！"),

    PAYMENT_TYPE_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 主数据支付方式不存在！"),
    ORIGIN_CHANNEL_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 主数据订单来源不存在！"),
    BUSINESS_LINE_NOT_FUND(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 主数据业务线不存在！"),
    ORDER_EXTEND_PROCESS_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "解析订单拓展信息失败！"),

    ENROL_URL_EXPIRE(BizStatusEnum.BAD_REQUEST, "页面过期,请在SCRM系统重新操作立即报名！"),

    TOKEN_OBTAIN_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "TOKEN获取失败！"),
    REDIS_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "缓存异常！"),

    ORDER_PAID(BizStatusEnum.BAD_REQUEST, "%s 存在部分支付或完全支付的订单！"),
    ORDER_UPDATE_STATE_ERROR(BizStatusEnum.BAD_REQUEST, "订单号: %s 订单状态: %s,不允许修改！"),
    JOURNAL_DISCOUNT_ERROR(BizStatusEnum.BAD_REQUEST, "个人优惠: %s无法使用, 请刷新获取最新优惠信息!"),

    ORDER_CANCEL_ERROR(BizStatusEnum.BAD_REQUEST, "%s 取消失败！"),
    NO_EXIST(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 数据库不存在！"),
    EMS_REQUEST_ERROR(BizStatusEnum.NOT_IMPLEMENTED, "调用EMS异常！"),
    EMS_ENROL_FAIL(BizStatusEnum.BAD_REQUEST, "报名失败，错误信息：%s"),
    EMS_PARAM_EMPTY(BizStatusEnum.BAD_REQUEST, "报名失败，参数[%s]为空！"),

    ENROL_SAME_CLAZZ_ERROR(BizStatusEnum.BAD_REQUEST, "异常提示：禁止重复报名相同班级，请更换班级后重试")
    ;

    public BizStatusEnum status;
    public String message;
}
